home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 39
/
Amiga Format CD39 (1999-04-13)(Future Publishing)(GB)[!][issue 1999-05].iso
/
-seriously_amiga-
/
archivers
/
xpk
/
archives
/
xpk_source.lha
/
xpk_Source
/
AboutSources
Wrap
Text File
|
1998-11-09
|
4KB
|
100 lines
IMPORTANT: As long as any of the authors are reachable via mail/e-mail
contact them first, before you make somehow changed/patched versions.
Also the sources of xpkmaster.library are offered, but this doesn't give
you the right to create your own version of xpkmaster.library (it is not
public domain software). Everytime you have to contact either Dirk Stöcker,
Christian von Roques or Urban Dominik Müller. We may give you the OK to
do further development!
----------------------------------------------------------------------------
You should begin your tour to these sources in the examples directory, which
contains some simple examples of how to write applications using XPK.
The directory Shell contains the sources of what I think are the basic shell
utilities for XPK. These utilites are a bit outdated, as they are written
for use under OS1.3 (except xBench and xPack).
The directory test contains some test programs (in C) which were needed
during development of some features. These files may be most useful for you.
Four of these programs (FindFileType, PrintFileTypes, StripXpkStuff,
testXpkPrefsSem) use undocumented features (mentioned in source code) and
thus should never be used in distributed programs. That's why the test
utilities are not distributed as binaries! All the others are correct
style and may be used as examples how to use xpkmaster. NOTE: as these are
test utilities they miss most of necessary error reporting functions,
which should be in an distributed tool.
If you want to write a sublibrary in C, the best place to start with are
the sources of xpkNONE.library and xpkNUKE.library.
Assembler programmers should take a look at the sources of xpkFAST.library.
Christian separated the library bureaucrazy from the other stuff and
generally tried to write elegant and readable code while writing FAST.
People with a hang to monolitic assembler sources or a distaste for linkers
will be pleased by what they'll find in the directory with the sources of
xpkHUFF.library.
The SDI includes are replacements of standard ANSI functions. These includes
mostly reduce the size of the executable, but they are not fully compatible
to the ANSI C ones. You may use them or replace the include line with
<stdlib>, <stdio.h> and <string.h>.
The SDI defines define things I often use (f.e. CTRL_C and the version
string).
xpkmaster contains the cleanedup sources of the xpkmaster.library. Do not
try to understand the inner workings of xpkmaster.library without first
having read all the documentation. Do not think after reading the docs you
understand them. (It took me a half year to really understand some parts. :-)
For those, who want to code their own sublibrary:
--------------------------------------------------
How has the version string to be like?
--> see how the standard or the example libraries handle this:
xpk<name of library> <version>.<revision> (<date>) <comments>\r\n\0
example: "xpkFAST 1.7 (07.09.96)\r\n\0" (NOTE: \r = 0x13; \n = 0x10)
You do not need to add a "$VER: " somewhere in the text and the library
name should be without ".library"! Also the date format should be the above
form, because Commodore defined this form as an nearly standard. Please
make the work and include a correct library header, because this makes
updating a lot easier! This means also a correct initialisation of the
corresponding fields in the Resident (RomTag) structure. You find an
example library header handling this in the xpk_Develop archive in the
ASM-include directory. If you have problems in doing this, contact me!
How to compile the asm only stuff:
----------------------------------
Run your assembler over the master file (mostly xpk____.a) and you get the
final output file.
How to compile with SAS-C:
--------------------------
Call smake in the directory. You may have to change the assembler line
to your assembler before doing this!. I use everytime PhxAss assembler,
because it seems to be powerful and it is freely distributable.
How to compile with Maxon's compiler:
-------------------------------------
xpkmaster.library:
(C++ V3) Use the MakeFile with Maxon's Make
(DEV V4) Compile library using xpkmaster.project.
other programs and libraries:
Use assembler to get object files of asm-sources.
Compile C files (mostly large data mode!) and link together with .o files
made with assembler.
Dirk Stöcker <stoecker@amigaworld.com>
26th October 1998